There exist many different kinds of computer systems ranging from individual computers to distributed computer systems interconnected by one or more networks. An important problem for these systems and computers is that they may, at one point or another experience peak periods, which they may have a hard time handling. Usually the systems are designed to handle peak periods up to a certain level. This level is usually based on a prediction of a future traffic scenario in the system weighted against the hardware cost. Thus, when trying to estimate the capacity for a system there is a risk for underestimating the future traffic in the system which may result in a shut down of the system. An example of an incident where the capacity of the system was not enough happened at the Tokyo Stock Exchange (TSE) on 18 Jan. 2006. According to the article “Temporary Suspension of All Transactions” (TSE news), the stock exchange had to close in order to prevent a system crash.
Thus, there may be situations when the capacity of the system is not enough. Hence the systems are not able to, or have a hard time to handle for example all the requests sent by the users using the systems, or a hard time to send out a large amount of information. As a result of this, users may experience long waiting times for their requests to be processed and may become very frustrated because of this, or even worse the system may have to be shut down in order to avoid a crash.
Financial trading systems (electronic exchanges) receive many quotes/orders from traders and/or brokers trading in financial instruments, energy contracts and so forth. Examples of when peak periods can occur are during the auction period before opening of an exchange, or when a task is sent that may result in a processor demanding change in an orderbook, or information dissemination, or because something else happened such as a political statement or rumor in the news or any happening that can trigger an increase of quotes/orders sent from traders.
Other applications having heavy transactions and peak periods are bank systems, warehouse systems and Internet broker services.
One way to achieve increased performance of a computer is to hard-wire a processor so that it statically runs on a clock-speed higher than normal. (this is commonly referred to as “over-clocking”). This typically leads to heat problems since the computer system is operated continuously at this higher speed and is therefore not suitable for commercial systems that need to have a certain level of security. Hobbyists are often statically “over-clocking” their systems in order to increase the performance for gaming and so forth. Another problem with this approach is that it is not possible to lower the frequency in an easy way since it is done manually by hard-wiring.
Some computer systems use “variable” (clock) speed in order to preserve energy, reduce heat and related noise. One such technology is Intel's “speed step”. However this technology has been applied to battery powered “lap top” computers and office space “desktop” computers for saving battery power and for noise reduction. In these examples it is the operating system and/or the “BIOS” which detects some level of inactivity by the user, and “slows” down the clock by a supervisor state instruction.
Supervisor state instructions are instructions only executable in “supervisor state” or some similar mode which is reserved for the operating system.
Hence, most computer chips can operate at a higher rate than specified by the manufacturer. However the above described techniques increases the risk for failure, mainly because of heat-related problems, but also because it is necessary to make physical changes to the mother-board of a computer in order to statically over-clock a processor.
The speed of a working frequency for a processor may be statically increased for example when a processor has slowed down the clock due to inactivity, and when it experiences activity, the OS speeds up the working frequency. However it only speeds up the frequency to a maximum rate specified by the manufacturer and only at times specified by manufacturers, and only after it experienced an increase in workload. This is an inefficient way of managing the working frequency of a processor since it takes a while for the processor to realize that it is under a heavy workload. The time for the processor to realize this may be rather long from a processor point of view.
Thus processors are managed very inefficiently which results in low capacity usage compared to what processors actually could deliver.